Soru & Cevap

For döngüsü kullanımı (Spinner)

08.07.2015 - 10:48

2 spinnerım var İl ve İlce adında. Seçilen ile göre ilçeleri getiriyor. İlde sıkıntı yok fakat ilçeleri uzun uzun yazmam gerekiyor. Bunun for gibi kısa bir yolu yok mudur? 

 

Burası Tanımlama Kısmı

private static String[] iller = new String[] { "İSTANBUL", "ANKARA",
        "İZMİR", "ADANA", "ADIYAMAN", "AFYONKARAHİSAR", "AĞRI", "AKSARAY",
        "AMASYA", "ANTALYA", "ARDAHAN", "ARTVİN", "AYDIN", "BALIKESİR",
        "BARTIN", "BATMAN", "BAYBURT", "BİLECİK", "BİNGÖL", "BİTLİS",
        "BOLU", "BURDUR", "BURSA", "ÇANAKKALE", "ÇANKIRI", "ÇORUM",
        "DENİZLİ", "DİYARBAKIR", "DÜZCE", "EDİRNE", "ELAZIĞ", "ERZİNCAN",
        "ERZURUM", "ESKİŞEHİR", "GAZİANTEP", "GİRESUN", "GÜMÜŞHANE",
        "HAKKARİ", "HATAY", "IĞDIR", "ISPARTA", "KAHRAMANMARAŞ", "KARABÜK",
        "KARAMAN", "KARS", "KASTAMONU", "KAYSERİ", "KIRIKKALE",
        "KIRKLARELİ", "KIRŞEHİR", "KİLİS", "KOCAELİ", "KONYA", "KÜTAHYA",
        "MALATYA", "MANİSA", "MARDİN", "MERSİN", "MUĞLA", "MUŞ",
        "NEVŞEHİR", "NİĞDE", "ORDU", "OSMANİYE", "RİZE", "SAKARYA",
        "SAMSUN", "SİİRT", "SİNOP", "SİVAS", "ŞIRNAK", "TEKİRDAĞ", "TOKAT",
        "TRABZON", "TUNCELİ", "ŞANLIURFA", "UŞAK", "VAN", "YALOVA",
        "YOZGAT", "ZONGULDAK"  
};

    private String[] ilceler0  = { "ADALAR", "ARNAVUTKÖY", "ATAŞEHİR",
        "AVCILAR", "BAĞCILAR", "BAHÇELİEVLER", "BAKIRKÖY", "BAŞAKŞEHİR",
        "BAYRAMPAŞA", "BEŞİKTAŞ", "BEYLİKDÜZÜ", "BEYOĞLU", "BÜYÜKÇEKMECE",
        "BEYKOZ", "ÇATALCA", "ÇEKMEKÖY", "ESENLER", "ESENYURT", "EYÜP",
        "FATİH", "GAZİOSMANPAŞA", "GÜNGÖREN", "KADIKÖY", "KAĞITHANE",
        "KARTAL", "KÜÇÜKÇEKMECE", "MALTEPE", "PENDİK", "SANCAKTEPE",
        "SARIYER", "SİLİVRİ", "SULTANBEYLİ", "SULTANGAZİ", "ŞİLE", "ŞİŞLİ",
        "TUZLA", "ÜSKÜDAR", "ÜMRANİYE", "ZEYTİNBURNU" };

    private String[] ilceler1 = { "AKYURT", "ALTINDAĞ", "AYAŞ", "BALA",
        "BEYPAZARI", "ÇAMLIDERE", "ÇANKAYA", "ÇUBUK", "ELMADAĞ",
        "ETİMESGUT", "EVREN", "GÖLBAŞI", "GÜDÜL", "HAYMANA", "KALECİK",
        "KAZAN", "KEÇİÖREN", "KIZILCAHAMAM", "MAMAK", "NALLIHAN",
        "POLATLI", "PURSAKLAR", "SİNCAN", "ŞEREFLİKOÇHİSAR", "YENİMAHALLE" };

    private String[] ilceler2 = { "ALİAĞA", "BALÇOVA", "BAYINDIR", "BAYRAKLI",
        "BERGAMA", "BEYDAĞ", "BORNOVA", "BUCA", "ÇEŞME", "ÇİĞLİ", "DİKİLİ",
        "FOÇA", "GAZİEMİR", "GÜZELBAHÇE", "KARABAĞLAR", "KARABURUN",
        "KARŞIYAKA", "KEMALPAŞA", "KINIK", "KİRAZ", "KONAK", "MENDERES",
        "MENEMEN", "NARLIDERE", "ÖDEMİŞ", "SEFERİHİSAR", "SELÇUK", "TİRE",
        "TORBALI", "URLA" };
    
    private String[] ilceler3 = {"ALADAĞ","CEYHAN","ÇUKUROVA","FEKE","İMAMOĞLU","KARAİSALI","KARATAŞ","KOZAN","POZANTI","SAİMBEYLİ","SARIÇAM","SEYHAN","TUFANBEYLİ","YUMURTALIK","YÜREĞİR"};
    

 

Burada Spinner il uzun uzun yazmam gerekiyor ?

spinnerIl.setOnItemSelectedListener(new OnItemSelectedListener() {

            @Override
            public void onItemSelected(AdapterView<?> parent, View view,
                    int position, long id) {
     
                
                // String Tipinde Seçilen İl Değişkeni..
 
                secilenIl = parent.getItemAtPosition(position).toString();
             
                //SEÇİLEN POZİSYONA GÖRE DİZİLERLE EŞLEŞTİRME YAPTIK
                
                if (parent.getSelectedItem().toString().equals(iller[0])) {
                     
                     secilenIlce = parent.getItemAtPosition(position).toString();
                      
                    adapterIlce = new ArrayAdapter(Register.this,android.R.layout.simple_spinner_item,ilceler0);
                    adapterIlce.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
                 
                 
                }
                 else if (parent.getSelectedItem().toString().equals(iller[1])) {
                     secilenIlce = parent.getItemAtPosition(position).toString();
                    adapterIlce = new ArrayAdapter(Register.this,android.R.layout.simple_spinner_item,ilceler1);
                    adapterIlce.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
                }
                
                else if (parent.getSelectedItem().toString().equals(iller[2])) {
                     secilenIlce = parent.getItemAtPosition(position).toString();
            adapterIlce = new ArrayAdapter(Register.this,android.R.layout.simple_spinner_item,ilceler2);        adapterIlce.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
                }
                
                else if (parent.getSelectedItem().toString().equals(iller[3])) {
                     secilenIlce = parent.getItemAtPosition(position).toString();
    adapterIlce = new ArrayAdapter(Register.this,android.R.layout.simple_spinner_item,ilceler3);            adapterIlce.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);    
                }

 

16 Görüntülenme

2 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-46518-1428343928.jpg
halitpeker
10.07.2015 - 02:07

sql lite kullan daha rahat olur sana bu kadarda sey yazmassın parent id kullarak ile ait ilceleri sorgularsın.

picture-3606-1408610132.jpg
cgural
10.07.2015 - 10:45

İl ve ilçeleri barındıran şunun gibi bir kaynak kullanabilirsin: https://github.com/volkansenturk/turkiye-iller-ilceler

Örneğin JSON olarak sunduğu listeyi kullanabilirsin. JSON dosyalarını parse edip yani işleyip uygun view ile göstermek sana kalır. SQLite ile kullanmak istersen de depoda yine SQL formatında bir liste var.

Tuğba Üstündağ
10.07.2015 - 04:56
Caner, Neyazıkki link calısmıyor
Caner Güral
10.07.2015 - 05:08
güncelledim tuğba. teşekkürler.